package homelesspartners.client;

import homelesspartners.client.model.Shelter;
import homelesspartners.client.model.Story;
import homelesspartners.client.model.ThankYou;
import homelesspartners.client.model.User;

import com.google.gwt.user.client.rpc.AsyncCallback;


public interface ServiceAsync {

	public void getCities(AsyncCallback callback);
	public void getShelters(int cityId, AsyncCallback callback);
	public void getStories(int id, String idQuery, String nameQuery, AsyncCallback callback);
	public void pledgeGift(int giftIdId, AsyncCallback callback);
	public void login(String userId, String password, AsyncCallback callback);
	public void createNewUser(String userId, String password, AsyncCallback callback);
	public void getShoppingList(AsyncCallback callback);
	public void addInterview(Story story, AsyncCallback callback);
	public void addInterviewCheckFirst(Story story, AsyncCallback callback);
	public void unpledgeGift(int giftId, AsyncCallback callback);
	public void deleteStory(int storyId, AsyncCallback callback);
	public void updateStory(Story updatedStory, AsyncCallback callback);
	public void updateVolunteer(User volunteer, AsyncCallback callback);
	public void addShelter(Shelter shelter, AsyncCallback callback);
	public void updateShelter(Shelter shelter, AsyncCallback callback);
	public void deleteShelter(int shelterId, AsyncCallback callback);
	public void getPageOfStories(int id, int offset, AsyncCallback callback);
	public void sendPassword(String email, AsyncCallback callback);
	public void createNewVolunteer(User volunteer, AsyncCallback callback);
	public void updatePassword(String password, AsyncCallback callback);
	public void getPageOfThankYous(int pageNumber, AsyncCallback callback);
	public void addThankYou(ThankYou thankyou, AsyncCallback callback);
	public void updateThankYou(ThankYou thankyou, AsyncCallback callback);
	public void deleteThankYou(int id, AsyncCallback callback);
	public void getThankYous(String headerQuery, AsyncCallback callback);
	public void getThankYouStats(AsyncCallback callback);
}
